package com.czmh.etc.interpreter.entity.request;

import com.czmh.etc.interpreter.entity.base.EnMessagetype;
import com.czmh.etc.interpreter.entity.base.RequestBody;

import java.math.BigDecimal;

/**
 * Created by Huangyk on 2019/6/4.
 */
public class CardInfoChangeRequest extends RequestBody{
    public static int MSG_LEN = RequestBody.BODY_LEN + 440;

    /**
     * 申请时间
     */
    private String GenTime;

    /**
     * 1：发行；2：变更；3、卡延期[增加类型：卡延期]
     */
    private char OptType;

    /**
     * 写文件类型，1:0015文件；2：0016文件
     */
    private char FileType;

    /**
     * 银行代码
     */
    private String BankID;

    /**
     * 银行卡账号
     */
    private String AccountID;

    /**
     * 青通联名卡卡类型，22：储值卡；23：记账卡
     */
    private String CardType;

    /**
     * 银行卡类型，0：借记卡；1：信用卡
     */
    private String AccType;

    /**
     * 结算方式，1、按时间划账；2、按额度划账；3、自由划账；（银行暂时先都填按时间划账，并且天数为1）
     */
    private char TransType;

    /**
     * 结算额度，前补零，根据结算方式填入，按时间划账单位为“天”，按额度划账单位为“分”，自由划账直接填“0”
     */
    private BigDecimal TransferLimit;

    /**
     * 保证金额度
     */
    private BigDecimal TallyLimit;

    /**
     * 青通联名卡卡号
     */
    private String CardID;

    /**
     * 用户类型,0：个人用户；1：集团用户；（默认都填个人用户）
     */
    private char UserType;

    private String UserName;

    /**
     * 用户证件类型
     */
    private String CertType;

    /**
     * 用户证件号
     */
    private String CertSN;

    /**
     * 卡成本金额
     */
    private long CardCost;

    private String LinkAddr;

    private String LinkPost;

    private String LinkTel;

    private String LinkMobile;

    private String LinkFax;

    private String LinkMail;

    /**
     * 关联车牌底色
     */
    private char VLPC;

    /**
     * 关联车牌号
     */
    private String VLP;

    /**
     * 关联车型
     */
    private String Vclass;

    /**
     * 随机数
     */
    private String Random;

    /**
     * 青通联名卡版本号
     */
    private String CardVer;

    private String Brand;

    private char IssuedType;

    private String Model;

    public CardInfoChangeRequest(){
        super(EnMessagetype.CardInfoChangeRequest);

        this.MsgLen = MSG_LEN;
    }

    //region getter && setter
    public String getGenTime() {
        return GenTime;
    }

    public void setGenTime(String genTime) {
        GenTime = genTime;
    }

    public char getOptType() {
        return OptType;
    }

    public void setOptType(char optType) {
        OptType = optType;
    }

    public char getFileType() {
        return FileType;
    }

    public void setFileType(char fileType) {
        FileType = fileType;
    }

    public String getBankID() {
        return BankID;
    }

    public void setBankID(String bankID) {
        BankID = bankID;
    }

    public String getAccountID() {
        return AccountID;
    }

    public void setAccountID(String accountID) {
        AccountID = accountID;
    }

    public String getCardType() {
        return CardType;
    }

    public void setCardType(String cardType) {
        CardType = cardType;
    }

    public String getAccType() {
        return AccType;
    }

    public void setAccType(String accType) {
        AccType = accType;
    }

    public char getTransType() {
        return TransType;
    }

    public void setTransType(char transType) {
        TransType = transType;
    }

    public BigDecimal getTransferLimit() {
        return TransferLimit;
    }

    public void setTransferLimit(BigDecimal transferLimit) {
        TransferLimit = transferLimit;
    }

    public BigDecimal getTallyLimit() {
        return TallyLimit;
    }

    public void setTallyLimit(BigDecimal tallyLimit) {
        TallyLimit = tallyLimit;
    }

    public String getCardID() {
        return CardID;
    }

    public void setCardID(String cardID) {
        CardID = cardID;
    }

    public char getUserType() {
        return UserType;
    }

    public void setUserType(char userType) {
        UserType = userType;
    }

    public String getUserName() {
        return UserName;
    }

    public void setUserName(String userName) {
        UserName = userName;
    }

    public String getCertType() {
        return CertType;
    }

    public void setCertType(String certType) {
        CertType = certType;
    }

    public String getCertSN() {
        return CertSN;
    }

    public void setCertSN(String certSN) {
        CertSN = certSN;
    }

    public long getCardCost() {
        return CardCost;
    }

    public void setCardCost(long cardCost) {
        CardCost = cardCost;
    }

    public String getLinkAddr() {
        return LinkAddr;
    }

    public void setLinkAddr(String linkAddr) {
        LinkAddr = linkAddr;
    }

    public String getLinkPost() {
        return LinkPost;
    }

    public void setLinkPost(String linkPost) {
        LinkPost = linkPost;
    }

    public String getLinkTel() {
        return LinkTel;
    }

    public void setLinkTel(String linkTel) {
        LinkTel = linkTel;
    }

    public String getLinkMobile() {
        return LinkMobile;
    }

    public void setLinkMobile(String linkMobile) {
        LinkMobile = linkMobile;
    }

    public String getLinkFax() {
        return LinkFax;
    }

    public void setLinkFax(String linkFax) {
        LinkFax = linkFax;
    }

    public String getLinkMail() {
        return LinkMail;
    }

    public void setLinkMail(String linkMail) {
        LinkMail = linkMail;
    }

    public char getVLPC() {
        return VLPC;
    }

    public void setVLPC(char VLPC) {
        this.VLPC = VLPC;
    }

    public String getVLP() {
        return VLP;
    }

    public void setVLP(String VLP) {
        this.VLP = VLP;
    }

    public String getVclass() {
        return Vclass;
    }

    public void setVclass(String vclass) {
        Vclass = vclass;
    }

    public String getRandom() {
        return Random;
    }

    public void setRandom(String random) {
        Random = random;
    }

    public String getCardVer() {
        return CardVer;
    }

    public void setCardVer(String cardVer) {
        CardVer = cardVer;
    }

    public String getBrand() {
        return Brand;
    }

    public void setBrand(String brand) {
        Brand = brand;
    }

    public char getIssuedType() {
        return IssuedType;
    }

    public void setIssuedType(char issuedType) {
        IssuedType = issuedType;
    }

    public String getModel() {
        return Model;
    }

    public void setModel(String model) {
        Model = model;
    }
    //endregion
}
